深度克隆
function clone(Obj) {
var buf;
if (Obj instanceof Array) {
var buf = [];//创建一个空数组
var i = Obj.length;
while (i--) {
buf[i] = clone(Obj[i]);
}
return buf;
} else if (Obj instanceof Object) {
buf = {};//创建一个空对象
for (var k in Obj) {
buf[k] = clone(Obj[k]);
}
return buf;
} else {
return Obj;
}
}
数组去重-方法一
Array.prototype.unique1 = function () {
var tempArr = [];// 一个新的临时数组
for (var i = 0; i < this.length; i++) {//遍历当前数组
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if (n.indexOf(this[i]) == -1) {
n.push(this[i]);
}
return tempArr;
}
};
数组去重-方法二
Array.prototype.unique2 = function () {
var result = {},
tempArr = [];//result为hash表,tempArr为临时数组
for (var i = 0; i < this.length; i++) {//遍历当前数组
if (!hash[this[i]]) {//如果hash表中没有当前项
hash[this[i]] = true;//存入hash表
tempArr.push(this[i]);//把当前数组的当前项push到临时数组里面
}
}
return tempArr;
};
数组去重-方法三
Array.prototype.unique3 = function () {
var result = [this[0]];//结果数组
for (var i = 1; i < this.length; i++) {//从第二项开始遍历
//如果当前数组的第i项在当前数组中第一次出现的位置不是i,
//那么表示第i项是重复的,忽略掉。否则存入结果数组
if (this.indexOf(this[i]) == i) {
result.push(this[i]);
}
}
return result;
};
1、给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含【被删除的重复条目的新数组】
Array.prototype.unique = function () {
var result = [];
for (var i = 0; i < this.length; i++) {
for (var j = i + 1; j < this.length; j++) {
if (this[i] === this[j]) {
result.push(this.splice(j, 1)[0]);
} else {
j++;
}
}
}
return result;
};
console.log(['a', 'b', 'c', 'd', 'b', 'a', 'e', 'asd', 'as', 12, 56, 1, 12, 'as'].unique());
var a = [1,4,5,2,9]; 下面求a中最大值正确的是
var a = [1, 4, 5, 2, 9];
console.log(Math.max.apply(null, a));
为 Array 对象添加一个去除重复项的方法,得到【去重后的数组】
Array.prototype.uniq = function () {
var arr = [];
var flag = true;
for (var i = 0; i < this.length; i++) {
if (arr.indexOf(this[i]) == -1) {
if (this[i] != this[i]) {
if (flag) {
arr.push(this[i]);
flag = false;
}
} else {
arr.push(this[i])
}
}
}
return arr;
};
console.log([false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq());
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。